From: Eric Huss Date: Thu, 19 Apr 2018 05:13:30 +0000 (-0700) Subject: Fix `with_*_does_not_contain` to support `[..]` and macro matching. X-Git-Tag: archive/raspbian/0.35.0-2+rpi1~3^2^2^2^2^2^2^2~22^2~1^2~58^2 X-Git-Url: https://dgit.raspbian.org/%22http://www.example.com/cgi/success//%22http:/www.example.com/cgi/success/?a=commitdiff_plain;h=e7896a2f6831eb223c273420d968446c883f47d3;p=cargo.git Fix `with_*_does_not_contain` to support `[..]` and macro matching. --- diff --git a/tests/testsuite/bench.rs b/tests/testsuite/bench.rs index ce05e1dfe..7347795f0 100644 --- a/tests/testsuite/bench.rs +++ b/tests/testsuite/bench.rs @@ -267,7 +267,7 @@ fn bench_multiple_targets() { .with_status(0) .with_stdout_contains("test run1 ... bench: [..]") .with_stdout_contains("test run2 ... bench: [..]") - .with_stdout_does_not_contain("run3"), + .with_stdout_does_not_contain("[..]run3[..]"), ); } diff --git a/tests/testsuite/build.rs b/tests/testsuite/build.rs index 7cc6b6ffd..80c1404d9 100644 --- a/tests/testsuite/build.rs +++ b/tests/testsuite/build.rs @@ -4509,7 +4509,7 @@ fn build_virtual_manifest_one_project() { p.cargo("build").arg("-p").arg("foo"), execs() .with_status(0) - .with_stderr_does_not_contain("bar") + .with_stderr_does_not_contain("[..]bar[..]") .with_stderr_contains("[..] Compiling foo v0.1.0 ([..])") .with_stderr( "[..] Compiling [..] v0.1.0 ([..])\n\ diff --git a/tests/testsuite/cargotest/support/mod.rs b/tests/testsuite/cargotest/support/mod.rs index 9ee70bf7c..9264bb950 100644 --- a/tests/testsuite/cargotest/support/mod.rs +++ b/tests/testsuite/cargotest/support/mod.rs @@ -687,9 +687,17 @@ impl Execs { } } MatchKind::NotPresent => { - if !actual.contains(out) { - Ok(()) - } else { + let mut a = actual.lines(); + let e = out.lines(); + + let mut diffs = self.diff_lines(a.clone(), e.clone(), true); + while let Some(..) = a.next() { + let a = self.diff_lines(a.clone(), e.clone(), true); + if a.len() < diffs.len() { + diffs = a; + } + } + if diffs.is_empty() { Err(format!( "expected not to find:\n\ {}\n\n\ @@ -697,6 +705,8 @@ impl Execs { {}", out, actual )) + } else { + Ok(()) } } } diff --git a/tests/testsuite/check.rs b/tests/testsuite/check.rs index 264abf898..b55342d4c 100644 --- a/tests/testsuite/check.rs +++ b/tests/testsuite/check.rs @@ -743,10 +743,10 @@ fn check_filters() { .with_status(0) .with_stderr_contains("[..]unused_normal_lib[..]") .with_stderr_contains("[..]unused_normal_bin[..]") - .with_stderr_does_not_contain("unused_normal_t1") - .with_stderr_does_not_contain("unused_normal_ex1") - .with_stderr_does_not_contain("unused_normal_b1") - .with_stderr_does_not_contain("unused_unit_"), + .with_stderr_does_not_contain("[..]unused_normal_t1[..]") + .with_stderr_does_not_contain("[..]unused_normal_ex1[..]") + .with_stderr_does_not_contain("[..]unused_normal_b1[..]") + .with_stderr_does_not_contain("[..]unused_unit_[..]"), ); p.root().join("target").rm_rf(); assert_that( @@ -764,8 +764,8 @@ fn check_filters() { .with_stderr_contains("[..]unused_unit_t1[..]") .with_stderr_contains("[..]unused_normal_ex1[..]") .with_stderr_contains("[..]unused_unit_ex1[..]") - .with_stderr_does_not_contain("unused_normal_b1") - .with_stderr_does_not_contain("unused_unit_b1"), + .with_stderr_does_not_contain("[..]unused_normal_b1[..]") + .with_stderr_does_not_contain("[..]unused_unit_b1[..]"), ); p.root().join("target").rm_rf(); assert_that( @@ -775,12 +775,12 @@ fn check_filters() { .with_stderr_contains("[..]unused_normal_lib[..]") .with_stderr_contains("[..]unused_normal_bin[..]") .with_stderr_contains("[..]unused_unit_t1[..]") - .with_stderr_does_not_contain("unused_unit_lib") - .with_stderr_does_not_contain("unused_unit_bin") - .with_stderr_does_not_contain("unused_normal_ex1") - .with_stderr_does_not_contain("unused_normal_b1") - .with_stderr_does_not_contain("unused_unit_ex1") - .with_stderr_does_not_contain("unused_unit_b1"), + .with_stderr_does_not_contain("[..]unused_unit_lib[..]") + .with_stderr_does_not_contain("[..]unused_unit_bin[..]") + .with_stderr_does_not_contain("[..]unused_normal_ex1[..]") + .with_stderr_does_not_contain("[..]unused_normal_b1[..]") + .with_stderr_does_not_contain("[..]unused_unit_ex1[..]") + .with_stderr_does_not_contain("[..]unused_unit_b1[..]"), ); p.root().join("target").rm_rf(); assert_that(